.TH POLY 1 "Poly/ML Version 5.8 2019"
.SH NAME
poly \- the Poly/ML Standard ML implementation
.SH SYNOPSIS
.B poly
.SH DESCRIPTION
.I poly
starts the Poly/ML shell. Poly/ML is an implementation of Standard ML written by David Matthews
originally at the University of Cambridge and maintained as a project supported by contributors. 
.SH OPTIONS
.TP
.B \-v
Print the version of Poly/ML and exit.
.TP
.B \--help
Print a list of the arguments and exit.
.TP
.B \-q
Suppress the start-up message.
.TP
.B \-i
Interactive mode.  Output a prompt for each input line.  This is the default if input
is from a terminal.
.TP
.B \--use FILE
Reads input from FILE as though executing the ML command 'use "FILE";' before the ML shell starts.
.TP
.B \--eval STRING
Compiles and executes STRING as ML before the ML shell starts.
.TP
.B \--error-exit
Normally if the ML code raises an unhandled exception control returns to the ML shell.  With this
option the shell exits on an unhandled exception.
.TP
.B \--with-markup
Include extra mark-up information when printing.  This is only suitable when Poly/ML is run under
an environment that is able to decode the additional information.
.TP
.B \--ideprotocol
Run the IDE communications protocol rather than the normal read-eval-print loop.  Only suitable
for running within a development environment.
.TP
.B \--script
The input is a shell script.  The first line is skipped if it begins with #!.
.TP
.B \-H " size"
Sets the initial heap size.  The size may be written as a number optionally followed by
K, M or G representing kilobytes, megabytes or gigabytes.  If none of these is given the
number is taken as megabytes.
.TP
.BI \--minheap " size"
Set the minimum heap size.  The heap will not shrink below this value.
.TP
.BI \--maxheap " size"
Set the maximum heap size.  The heap will not grow above this value.
.TP
.BI \--gcpercent " percent"
Set the target percentage of time that the code should spend in the garbage collector.  The heap
sizer will attempt to set the heap size to achieve this target consistent with the minimum and
maximum heap sizes given by the arguments and also consistent with keeping paging under control.
.TP
.BI \--gcthreads " threads"
Sets the number of threads used in the parallel garbage collector.  Setting this to 1 forces the
garbage collector to be single-threaded.  The value 0, the default, is taken to be the number of
processors (cores) available.
.TP
.BI \--debug " options"
Set various debugging options for the run-time system.
.fi
.SH SEE ALSO
.PP
.B http://www.polyml.org
The Poly/ML web site.
